package com.intelligent.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.intelligent.dto.PurchaseOrderQueryDTO;
import com.intelligent.pojo.PurchaseOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.intelligent.vo.PurchaseOrderVO;

/**
* @author 86188
* @description 针对表【purchase_order(采购订单信息表)】的数据库操作Service
* @createDate 2025-08-29 11:59:52
*/
public interface PurchaseOrderService extends IService<PurchaseOrder> {
    
    /**
     * 分页查询采购订单
     * @param queryDTO 查询条件
     * @param pageNum 当前页
     * @param pageSize 每页条数
     * @return 分页结果
     */
    IPage<PurchaseOrderVO> queryPage(PurchaseOrderQueryDTO queryDTO, Integer pageNum, Integer pageSize);
    
    /**
     * 创建采购订单
     * @param purchaseOrder 采购订单信息
     * @return 是否成功
     */
    boolean createPurchaseOrder(PurchaseOrder purchaseOrder);
    
    /**
     * 生成采购订单编号
     * @return 采购订单编号
     */
    String generateOrderNo();

    /**
     * 更新采购订单
     */
    boolean updatePurchaseOrder(PurchaseOrder purchaseOrder);

    /**
     * 批量删除采购订单
     */
    boolean deleteByIds(java.util.List<Long> ids);

    /**
     * 查询采购订单列表（用于导出）
     */
    java.util.List<PurchaseOrderVO> queryList(PurchaseOrderQueryDTO queryDTO);
}
